/**
 * 客户端用户视图对象
 */
export interface ClientUserVo {
  /**
   * 年龄段
   */
  ageId?: string;
  /**
   * 头像路径
   */
  avatar?: string;
  /**
   * 小孩数量
   */
  childNumber?: number;
  /**
   * 孩子们
   */
  children?: CourseChildVo[];
  /**
   * 孩子数
   */
  childrenNumber?: number;
  /**
   * 数据创建者
   */
  createBy?: string;
  /**
   * 数据创建时间
   */
  createTime?: Date;
  /**
   * 用户邮箱
   */
  email?: string;
  /**
   * 主键
   */
  id?: string;
  /**
   * 介绍
   */
  introduction?: string;
  /**
   * 用户等级
   */
  level?: number;
  /**
   * 会员过期时间
   */
  memberExpirationDate?: Date;
  /**
   * 会员获取方式，会员获取方式（1：兑换码；2：购买套餐）
   */
  memberObtainMethod?: string;
  /**
   * 会员状态，会员状态（0: 非会员；1:会员；2:特殊会员）
   */
  memberStatus?: string;
  /**
   * 用户昵称
   */
  nickName?: string;
  /**
   * 密码
   */
  password?: string;
  /**
   * 手机号
   */
  phoneNumber?: string;
  /**
   * QQ用户标识
   */
  qqOpenid?: string;
  /**
   * 地区id
   */
  regionId?: number;
  /**
   * 所属地区
   */
  regionName?: string;
  /**
   * 用户性别（0男 1女 2未知）
   */
  sex?: string;
  /**
   * 数据更新者
   */
  updateBy?: string;
  /**
   * 数据更新时间
   */
  updateTime?: Date;
  /**
   * 用户名
   */
  userName?: string;
  /**
   * 微信用户标识
   */
  wxOpenid?: string;
  /**
   * 用户状态
   */
  status?: string;
  statusMsg?: string;
  registrationMethodMsg?: string;
  registrationMethod?: string;
  memberStatusMsg?: string;
  parentingMsg?: string;
  homeStyleMsg?: string;
  childNumMsg?: string;
  parentalEducationMsg?: string;
  parentIndustryMsg?: string;
  familyCharacterMsg?: string;
}



/**
 * 孩子信息vo
 */
export interface CourseChildVo {
  /**
   * 小孩年龄
   */
  age?: number;
  /**
   * 关注能力
   */
  attentionAbility?: string;
  /**
   * 头像地址
   */
  avatar?: string;
  /**
   * 小孩生日
   */
  birthday?: Date;
  directOrg?: null | SysOrganizationVo;
  /**
   * 教育规划
   */
  educationPlan?: string;
  /**
   * 是否冻结(0不冻结，1冻结)
   */
  freeze?: boolean;
  grade?: CourseGradeVo;
  /**
   * 小孩年级id
   */
  gradeId?: string;
  /**
   * 小孩身高
   */
  height?: number;
  /**
   * 小孩id
   */
  id?: string;
  /**
   * 小孩名字
   */
  name: string;
  /**
   * 小孩昵称
   */
  nickName: string;
  /**
   * 孩子所在学校
   */
  organizationId?: string;
  /**
   * 抚养情况
   */
  parentingStatus?: string;
  school?: null | SysOrganizationVo;
  /**
   * 小孩性别
   */
  sex?: string;
  /**
   * 小孩体重
   */
  weight?: number;
}

export interface SysOrganizationVo {
  /**
   * 组织简介
   */
  brief?: string;
  /**
   * 数据创建者
   */
  createBy?: string;
  /**
   * 数据创建时间
   */
  createTime?: Date;
  /**
   * 删除标志，（0代表存在 2代表删除）
   */
  delFlag?: string;
  /**
   * 组织全称
   */
  fullName?: string;
  /**
   * 主键
   */
  id?: string;
  /**
   * 组织名称
   */
  name: string;
  /**
   * 父机构id
   */
  parentId?: string;
  /**
   * 父组织名称
   */
  parentName?: string;
  /**
   * 区域id
   */
  regionId: string;
  /**
   * 地区合并名称
   */
  regionMergerName?: string;
  /**
   * 状态，（0正常 1停用）
   */
  status?: string;
  /**
   * 组织类型
   */
  type: string;
  /**
   * 数据更新者
   */
  updateBy?: string;
  /**
   * 数据更新时间
   */
  updateTime?: Date;
}

/**
 * 年级对象vo，年级表
 */
export interface CourseGradeVo {
  /**
   * 主键
   */
  id?: string;
  /**
   * 年级名称
   */
  name: string;
  /**
   * 备注
   */
  remark: string;
  /**
   * 年级的值
   */
  value?: number;
}

//////////////////////////////////////////
/**
 * 用户信息
 */
// TODO:YX: 后端为什么把ClientUserVo再包装一次返回？
export interface ClientUserInfoVo {
  user?: ClientUserVo;
  characterList?: Array<any>;
}

//////////////////////////////////////////
/**
 * 区域树节点
 */
export interface RegionNode {
  children: RegionNode[];
  id: string;
  label: string;
  parentId: string;
}

////////////////////////////////////////////////
/**
 * 组织树节点
 */
export interface OrganizationNode {
  children: OrganizationNode[];
  createTime: string;
  id: string;
  label: string;
  parentId: string;
  regionMergerName: string;
  status: string;
  type: string;
}
